package com.ynet.middleground.approve.constant;

/**
 * @author liulx
 * @description 流程操作类型
 * @date 2019-10-25 11:01
 */
public enum OperatingTypeEnum {

    /**
     * 0: 发起申请
     */
    APPLY(0, "发起申请"),

    /**
     * 1: 同意
     */
    PASS(1, "同意"),

    /**
     * 2: 驳回（驳回至上一节点）
     */
    REJECT(2, "驳回至上一节点"),

    /**
     * 3: 退回（退到发起人）
     */
    RETURN(3, "退回"),

    /**
     * 4: 拒绝（用于会签投票）
     */
    REFUSE(4, "拒绝"),

    /**
     * 5: 撤销申请
     */
    CANCLE(5, "撤销申请"),

    /**
     * 6: 回转 <br>
     * 使用场景，如 A、B、C 三个任务, A -> B -> C ，C 退回至 A，A 处理完后想重新回到 C，此时 C 应该记录是从 A 回转过来的
     */
    ROTATE(6, "跳转"),

    /**
     * 7：驳回至发起人
     */
    REJECT_TO_STARTER(7, "驳回至发起人"),

    /**
     * 8：转办
     */
    TRANSFER(8, "转办"),

    /**
     * 9：驳回修改
     */
    REJECT_TO_STARTER_MODIFICATION(9, "驳回修改"),

    /**
     * 10：不同意
     */
    REJECT_TO_STARTER_DISAGREE(10, "不同意");

    private int code;
    private String desc;

    OperatingTypeEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public int getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}
